package cloudInformation.mapper;

import cloudEntity.entity.SmartClubEntity;
import cloudEntity.leftJoin.ClubPersonLeftJoin;
import cloudEntity.vo.PageBeanVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 智慧校园社团表(SmartClub)表数据库访问层
 *
 * @author makejava
 * @since 2025-04-13 20:46:23
 */
@Mapper
public interface SmartClubMapper {

    /**
     * 分页查询社团信息
     * @param clubName 社团名字
     * @param pageNum 页码
     * @param pageSize 页面大小
     * @return 返回的数据
     */
    List<SmartClubEntity> getByPage(
           @Param("clubName") String clubName,
           @Param("pageNum") Integer pageNum,
           @Param("pageSize") Integer pageSize);

    /**
     * 分页查询社团 的人员信息
     * @param clubIds 社团id
     * @param pageNum 页码
     * @param pageSize 一页大小
     * @return 返回的 分页数据
     */
    List<ClubPersonLeftJoin> getClubPersonByPageWhereIds(@Param("clubIds") String clubIds,
                                                               @Param("pageNum") Integer pageNum,
                                                               @Param("pageSize") Integer pageSize);

    /**
     * 查询社团 数量
     * @param clubName 社团id
     * @return 返回社团数量
     */
    Integer GetClubCount( @Param("clubName") String clubName);

    /**
     * 查询社团 人数数量
     * @param clubIds 社团 id
     * @return 返回社团 人数 数量
     */
    Integer GetClubPersonCount( @Param("clubIds") String clubIds );
}

